FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}

{% import "macros.j2" as macros with context %}

{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
    {% set rabbitmq_packages = [
        'hostname',
        'https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_5_7/rabbitmq-server-3.5.7-1.noarch.rpm'
    ] %}

{{ macros.install_packages(rabbitmq_packages | customizable("packages")) }}

{% elif base_distro == 'ubuntu' %}
    {% set rabbitmq_packages = [
        'rabbitmq-server'
    ] %}

{{ macros.install_packages(rabbitmq_packages | customizable("packages")) }}

{% elif base_distro == 'debian' %}
    {% set rabbitmq_packages = [
        'erlang-nox',
        'http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.7/rabbitmq-server_3.5.7-1_all.deb'
    ] %}

{{ macros.install_packages(rabbitmq_packages | customizable("packages")) }}

{% endif %}

# NOTE(sdake): the /bin/true unblocks the rabbitmq-plugins tool. Not sure how
#              or why.  My suspicion is it sends a signal to the parent
#              process.
RUN rm -rf /var/lib/rabbitmq/* \
    && curl -o /usr/lib/rabbitmq/lib/rabbitmq_server-3.5.7/plugins/rabbitmq_clusterer-3.5.x-189b3a81.ez http://www.rabbitmq.com/community-plugins/v3.5.x/rabbitmq_clusterer-3.5.x-189b3a81.ez \
    && /usr/lib/rabbitmq/bin/rabbitmq-plugins enable --offline \
       rabbitmq_management \
       rabbitmq_clusterer \
    && /bin/true

COPY extend_start.sh /usr/local/bin/kolla_extend_start
COPY rabbitmq_sudoers /etc/sudoers.d/kolla_rabbitmq_sudoers
COPY rabbitmq_get_gospel_node.py /usr/local/bin/rabbitmq_get_gospel_node
RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/rabbitmq_get_gospel_node \
    && chmod 750 /etc/sudoers.d \
    && chmod 440 /etc/sudoers.d/kolla_rabbitmq_sudoers \
    && usermod -a -G kolla rabbitmq

{% block rabbitmq_footer %}{% endblock %}
{{ include_footer }}

USER rabbitmq
